package com.power.sifa.correction.service;

import com.power.sifa.correction.model.Crc_geopoint;
import org.springframework.data.domain.Page;
import com.power.sifa.correction.model.Crw_rule_geopoint;
import com.power.sifa.correction.model.pageInfo.Crw_rule_geopointPageInfo;

import java.io.Serializable;
import java.util.List;

/**
 *  规则相关范围区域业务层
 */
public interface Crw_rule_geopointService {

    /**
     *  根据id获取规则相关范围区域对象
     */
    Crw_rule_geopoint getById(Serializable id);

    /**
     *  根据传入规则相关范围区域对象进行新增或更新操作
     */
    void saveOrUpdate(Crw_rule_geopoint crw_rule_geopoint);

    /**
     *  根据id删除规则相关范围区域
     */
    void removeById(Serializable id);

    /**
     *  根据传入条件查询规则相关范围区域分页结果
     */
    Page<Crw_rule_geopoint> findAll(Crw_rule_geopointPageInfo pageInfo);
    
    /**
     * 查询全部规则相关范围区域
     */
    List<Crw_rule_geopoint> findAll();
    
     /**
     *  根据id批量删除规则相关范围区域
     */
    void removeByIds(List<String> list);
    
     /**
     *  批量保存规则相关范围区域
     */
    void saveAll(List<Crw_rule_geopoint> list);

    /**
     * 通过规则查询对应的区域范围坐标对象
     * @param ruleId
     * @return
     */
    List<Crc_geopoint> findGeopointsByRuleId(String ruleId);

    void saveAll(String ruleId, List<String> geopointIds);

    void removeByRuleId(String ruleId);
}
